"""
函数三大要素：形参、实参、返回值
函数正确的组成
def name（形参）：
    “”“文档字符串”“”
    代码块
    return 返回值
"""

# 定义一个函数，传递2个数字，返回相加的结果
def add(num1, num2):
    """
    :param num1:  定义的num1和num2就是形参（形式参数），表示传递的数字
    :param num2:
    :return: 返回传递数字之和
    """
    # 函数的作用域：函数里面的变量是局部变量，只能在函数内容进行使用，函数外部不能使用局部变量
    # 如果需要拿到外部进行使用，必须使用return关键字返回才能接收使用
    result = num1 + num2
    return result

# 有形参的函数调用需要传递参数值，传递的参数值就叫实参（实际传递的参数）
add1 = add(1, 2)       # 将return注释，函数没有返回值，传回的就是一个None值
print(add1)
add2 = add(5, 8)    # 有了返回值，add2的结果就是reture返回的数据

# print(add(1, 2)) # 3
# 函数的引用就是函数的名字:add
# 函数的调用需要使用函数的名字()
# 只使用函数名是不会调用函数
i = add
# i(3,5)=add(3,5)
print(i(3, 5)) # 8
print(type(i)) # <class 'function'>